<?php
/**
 * 基础控制器
 * 必须继承自think\Controller.php
 */
namespace app\common\controller;

use app\common\model\ArtCate;
use think\Controller;
use think\facade\Session;

class Base extends Controller
{
    /**
     * 初始化方法
     * 创建常量，公共方法
     * 在所有的方法之前被调用
     */
    protected function initialize()
    {
        // 显示导航栏目
        $this->showNav();
    }

    // 检查是否已登陆：防止重复登陆，放在登陆验证方法中调用
    protected function logined(){
        if (Session::has('user_info')){
            $this->error('客官，您已经登陆了','index/index');
        }
    }
    // 检查是否未登陆：放在需要登陆操作的方法的最前面，例如发布文章
    public function isLogin(){
        if ( ! Session::has('user_info')){
            $this->error('客官，您是不是忘记登陆啦~~~','user/login');
        }
    }

    // 显示导航栏目
    protected function showNav(){
        $cateList = ArtCate::all(function($query){
            $query->field(['id','name'])->where('status',1)->order('sort asc');
        });
        $this->view->assign('cateList', $cateList);
    }
}